package com.insigma.business.qrcode.job._provider;


import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.job.dto.JobFairParticipateDTO;
import com.insigma.business.qrcode.job.dto.request.JobFairParticipateInsertRequest;
import com.insigma.business.qrcode.job.dto.request.JobFairParticipateSearchRequest;
import com.insigma.business.qrcode.job.dto.request.JobFairParticipateUpdateRequest;
import com.insigma.business.qrcode.job.dto.request.JobFairSearchRequest;
import com.insigma.business.qrcode.soldier.dto.CompanyDTO;
import com.insigma.business.qrcode.soldier.request.BaseGetRequest;

import java.util.List;


public interface JobFairParticipateProvider{


    BaseResponse<String> insertJobFairParticipate(final JobFairParticipateInsertRequest jobFairParticipateInsertRequest);

    
    BaseResponse<String> reApplyJobFair(final JobFairParticipateUpdateRequest jobFairParticipateInsertRequest);

    
    BasePagingResponse<List<JobFairParticipateDTO>> searchJobFairParticipate(final JobFairParticipateSearchRequest jobFairParticipateSearchRequest);

    
    BaseResponse<JobFairParticipateDTO> getParticipateByFairIdAndOrgId(String fairId, String companyId, String orgType);

    
    BasePagingResponse<List<CompanyDTO>> searchCompanyOfFair(final JobFairSearchRequest request);

   
    BaseResponse<JobFairParticipateDTO> getJobFairParticipate(final BaseGetRequest baseGetRequest);


    BaseResponse<Integer> updateJobFairParticipate(final JobFairParticipateUpdateRequest jobFairParticipateUpdateRequest);


    BaseResponse<Integer> updateBooth(final JobFairParticipateUpdateRequest request);

    
    BaseResponse<Integer> checkApply(final JobFairParticipateUpdateRequest request);

    
    BaseResponse<Integer> deleteJobFairParticipate(final BaseDeleteRequest deleteRequest);

    
    BaseResponse<Integer> checkFairRecruitPosition(final JobFairParticipateUpdateRequest jobFairRecruitPositionUpdateRequest);

    BaseResponse<JobFairParticipateDTO> getParticipateByOrgId(String orgId);

}
